package com.iwunu.gateway.service;

import com.iwunu.gateway.vo.LoginBindPhoneVo;
import com.iwunu.gateway.vo.LoginParamVo;
import com.iwunu.gateway.vo.UserInfoVo;
import com.iwunu.iot.common.util.Result;

/**
 * @author harvey
 * @date 2019/6/13 11:35 AM
 * @description
 */
public interface LoginService {
    /**
     * 发送短信验证码
     * @param cc
     * @param phone
     * @return
     */
    Result sendSmsCode(String cc, String phone);

    /**
     * 登录
     * @param loginParamVo
     * @return
     * @throws Exception 
     */
    Result login(LoginParamVo loginParamVo) throws Exception;

    /**
     * 刷新token
     * @param authorization
     * @return
     */
    Result refreshToken(String authorization);

    /**
     * 获取openId
     * @param type
     * @param code
     * @return
     */
    Result getOpenId(String code);

    /**
     * 更新用户信息
     * @param authorization
     * @param userInfoVo
     * @return
     */
    Result updateUserInfo(String authorization, UserInfoVo userInfoVo);

    /**
     * 登录绑定手机号
     * @param type
     * @param loginBindPhoneVo
     * @return
     */
    Result loginBindPhone(Integer type, LoginBindPhoneVo loginBindPhoneVo);

}
